﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Linq.Expressions;

namespace EttainGroup.Filters
{
    public interface IFilterRepository
    {
        List<FilterDefinition> FiltersForExpression(string typeName, string componentName, string groupId);
        Expression<Func<T, bool>> BuildPredicate<T>(Expression<Func<T, bool>> additionalFilter, string componentName, string groupId);
        List<System.Linq.Expressions.Expression<Func<T, bool>>> GetExpressionListForGroup<T>(System.Linq.Expressions.Expression<Func<T, bool>> additionalFilter, string componentName, string externalEntityId);
    }
}
